// pages/cart/cart.js
const carts = require('../../utils/cart')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    scrollHeight: 400,
    cart:[],
    total:0,
    selectedGoodsNum:0,
    selectedCart:[]
  },
  //选中商品
  checkItem(e){
     const{index}=e.currentTarget.dataset
     let{_id,item_is_choose}=this.data.cart[index]
     item_is_choose=!item_is_choose
     carts.setChoose(_id,item_is_choose)
     this.getCart()
  },
    //count组件上的 加入购物车
    addcart(e){   
      let { detail } = e.currentTarget.dataset 
      detail = { ...detail,num:1}  
       carts.add(detail)
       this.getCart()
    },
    minuscart(e){
      let { detail } = e.currentTarget.dataset
      detail = { ...detail,num:-1}
      carts.add(detail)
      this.getCart()
    },
  setHeight() {
    //微信小程序，任何机型，屏幕宽度固定为750rpx
    // 为了获取手机rpx与px的比例关系，可通过如下方式 
    const winWidth = wx.getSystemInfoSync().windowWidth//获取屏幕实际宽度，单位px   
    const pr = 750/winWidth //px与rpx转化比例，即1px = 750/winWidth   
    const winHeight = wx.getSystemInfoSync().windowHeight//屏幕可视高度，即屏幕中除了状态栏、导航栏、tabBar后，剩余高度
    const scrollHeight = winHeight * pr - 110 //商品列表高度 = 屏幕可视高度 - 底部合计的高度    
    this.setData({
      scrollHeight
    })
  },
  //读取购物车
   //读取购物车
   getCart() {
    const cart = wx.getStorageSync('carts')
    let total = 0
    let selectedGoodsNum = 0
    let selectedCart = []
    if(cart){
      cart.forEach(item=>{
        if(item.item_is_choose){
          total += Number(item.num) * Number(item.goods_price)
          selectedGoodsNum += Number(item.num)
          selectedCart.push(item)
        }
      })
    } 
    this.setData({
      cart,
      total,
      selectedGoodsNum,
      selectedCart
    })
    //设置tabBar购物车徽章
    carts.setBadge()
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    this.setHeight()
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getCart()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})